home *** CD-ROM | disk | FTP | other *** search
- // bnkdemo.h
- // $Id$
-
- #include <exec/types.h>
- #include <exec/memory.h>
- #include <exec/semaphores.h>
- #include <intuition/gadgetclass.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-
- #include <proto/exec.h>
- #include <proto/dos.h>
- #include <proto/graphics.h>
- #include <proto/intuition.h>
- #include <proto/gadtools.h>
- #include <proto/asl.h>
- #include <clib/macros.h>
-
- #include "/xappmsg.h"
- #include "mydebug.h"
-
-
- enum GadgetID {
- UPLOAD_ID,
- DOWNLOAD_ID,
- LOAD_ID,
- SAVE_ID,
- SETPART_ID,
- SETPRG_ID,
- UNIT_ID,
- PROGRAM_ID,
- PART_ID,
- TONE_ID,
- TONENAME_ID,
- SPARTIAL1_ID,
- SPARTIAL2_ID,
- ENVMODE_ID,
- PARTIALMUTE_ID,
- PARTIAL_ID,
- PARAMETER_ID,
- VALUE_ID,
- MAX_ID
- };
-
- struct FXNode* n ;
- struct List* l ;
- struct Window* xappwin ;
- struct Gadget* glist ;
- struct Gadget* gad ;
- APTR vi ;
- struct Screen *ps ;
- BOOL winopen ;
-
- struct MsgPort* MyPort ;
- struct MsgPort* XAppPort ;
- struct MsgPort* replyPort ;
-
- char MyPortName[XAPPNAMELENGTH] ;
- APTR xHandle ;
-
-
- struct TagItem __aligned ti[] = {
- {XAPP_Name, (ULONG)"BNK-DEMO"},
- {XAPP_PortName, (ULONG)MyPortName},
- {XAPP_Type, (ULONG)XAPPTYP_BANKEDITOR},
- {TAG_DONE}
- };
-
- struct TagItem __aligned th[] = {
- {XAPP_Handle, NULL},
- {TAG_DONE}
- };
-
- struct TagItem __aligned td[] = {
- {XAPP_Handle, NULL},
- {BANK_MidiBuffer, NULL},
- {BANK_MidiLength, 0},
- {TAG_DONE}
- };
-
- struct TagItem __aligned rd[] = {
- {XAPP_Handle, NULL},
- {BANK_MidiBuffer, NULL},
- {BANK_MidiLength, 0},
- {TAG_DONE}
- };
-
-
-
-
- struct Partial {
- UBYTE pa_Value[58] ;
- };
-
- struct Tone {
- char to_Name[10] ;
- UBYTE to_P12 ;
- UBYTE to_P34 ;
- UBYTE to_PMute ;
- UBYTE to_EnvMode ;
- UBYTE to_Partial[4][58] ;
- };
-
- struct bnkDemoData {
- struct SignalSemaphore *bd_Semaphore ;
- WORD bd_UnitNumber ;
- WORD bd_ToneNumber ;
- WORD bd_ProgramNumber ;
- WORD bd_PartNumber ;
- WORD bd_PartialNumber ;
- WORD bd_ParamNumber ;
- struct Tone bd_Tone[64] ;
- } bData ;
-
- char partial[58][22] = {
- "WG PITCH COARSE ",
- "WG PITCH FINE ",
- "WG PITCH KEYFOLLOW ",
- "WG PITCH BENDER SW ",
- "WG WAVEFORM/PCM BANK ",
- "WG PCM WAVE ",
- "WG PULSE WIDTH ",
- "WG PW VELO SENS ",
- "P-ENV DEPTH ",
- "P-ENV VELO SENS ",
- "P-ENV TIME KEYF ",
- "P-ENV TIME 1 ",
- "P-ENV TIME 2 ",
- "P-ENV TIME 3 ",
- "P-ENV TIME 4 ",
- "P-ENV LEVEL 0 ",
- "P-ENV LEVEL 1 ",
- "P-ENV LEVEL 2 ",
- "P-ENV SUSTAIN LEVEL ",
- "END LEVEL ",
- "P-LFO RATE ",
- "P-LFO DEPTH ",
- "P-LFO MOD SENS ",
- "TVF CUTOFF FREQ ",
- "TVF RESONANCE ",
- "TVF KEYFOLLOW ",
- "TVF BIAS POINT/DIR ",
- "TVF BIAS LEVEL ",
- "TVF ENV DEPTH ",
- "TVF ENV VELO SENS ",
- "TVF ENV DEPTH KEYF ",
- "TVF ENV TIME KEYF ",
- "TVF ENV TIME 1 ",
- "TVF ENV TIME 2 ",
- "TVF ENV TIME 3 ",
- "TVF ENV TIME 4 ",
- "TVF ENV TIME 5 ",
- "TVF ENV LEVEL 1 ",
- "TVF ENV LEVEL 2 ",
- "TVF ENV LEVEL 3 ",
- "TVF ENV SUSTAIN LEVEL",
- "TVA LEVEL ",
- "TVA VELO SENS ",
- "TVA BIAS POINT 1 ",
- "TVA BIAS LEVEL 1 ",
- "TVA BIAS POINT 2 ",
- "TVA BIAS LEVEL 2 ",
- "TVA ENV TIME KEYF ",
- "TVA ENV TIME V_FOLLOW",
- "TVA ENV TIME 1 ",
- "TVA ENV TIME 2 ",
- "TVA ENV TIME 3 ",
- "TVA ENV TIME 4 ",
- "TVA ENV TIME 5 ",
- "TVA ENV LEVEL 1 ",
- "TVA ENV LEVEL 2 ",
- "TVA ENV LEVEL 3 ",
- "TVA ENV SUSTAIN LEVEL"
- };
-
-
- WORD minpartial[58] = {
- 0, 0, 0, 0, 0, 0, 0, 0, // 8
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 12
- 0, 0, 0, // 3
- 0, 0, 0, 0, 0, // 5
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 13
- 0, 0, 0, 0, 0, 0, // 6
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // 11
- };
-
- WORD maxpartial[58] = {
- 96, 100, 16, 1, 3, 127, 100, 14, // 8
- 10, 100, 4, 100, 100, 100, 100, 100, 100, 100, 0, 100, // 12
- 100, 100, 100, // 3
- 100, 30, 14, 127, 14, // 5
- 100, 100, 4, 4, 100, 100, 100, 100, 100, 100, 100, 100, 100, // 13
- 100, 100, 127, 12, 127, 12, // 6
- 4, 4, 100, 100, 100, 100, 100, 100, 100, 100, 100 // 11
- };
-
- static char filename[80] ;
- static char fname[80] = "Untitled.bank" ;
- static char pname[80] = "Euterpe:Banks/Roland/MT32" ;
- static char tonename[11] ;
- static UBYTE midibuffer[512] ;
-
-
- struct SignalSemaphore *MySemaphore ;
-
- struct Gadget* tabgad[MAX_ID] ;
-
- static ULONG winsig, msig, signal ;
- BOOL fin ;
- #define HIGHPRI 21
-
- struct XAppMsg *xmsg, *replymsg, *emsg ;
-
- extern __stdargs ULONG HookEntry() ;
-
- VOID main(VOID) ;
- BOOL InitAll(void) ;
- BOOL CloseAll(WORD level) ;
- void ProcessEvents(void) ;
- BOOL InitWin(void) ;
- BOOL CloseWin(WORD level) ;
- void ProcessWinEvents(void) ;
- VOID StripWindow(struct Window *win) ;
- VOID StripIntuiMessages( struct MsgPort *mp, struct Window *win ) ;
- VOID StripMessages( struct MsgPort *mp ) ;
-
- void UploadTone(void) ;
- void DownLoadTone(void) ;
- void LoadTone(void) ;
- void SaveTone(void) ;
- void SetPart(void) ;
- void SetPrg(void) ;
- struct FileRequester *InitAslFileReq(struct Screen *s, STRPTR drawer, const char *title) ;
- BOOL getfile(struct Screen *s, STRPTR name, STRPTR drawer, STRPTR pat, const char *title, BOOL savemode) ;
- void PatchName(void) ;
- void GetProgramList(void) ;
-